iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0

Azure DevOps: 一站式開發與交付平台初探

在當前的軟體開發世界裡,持續集成與持續交付 (CI/CD) 是提高開發效率和保持產品品質的關鍵所在。
Azure DevOps 作為一套現代化的 DevOps 解決方案,為團隊提供了完整的工具組合,以促進軟體開發、部署與協作的效率。
今天先透過官網的簡介了解其核心功能及適用場景吧。


什麼是 Azure DevOps?

Azure DevOps 是由微軟推出的一站式 DevOps 平台,提供多樣化的工具支援軟體開發流程的各個階段,包括計畫管理、源代碼管理、CI/CD 管道、測試管理、和制品庫存。
Azure DevOps 幫助開發者及團隊能夠從開發初期一直到部署維護,有效地管理和協作。
無論是小型初創企業還是大型企業,Azure DevOps 都能夠支持開發過程中需要的靈活性和敏捷性。這些工具皆可與其他流行的開源服務如 GitHub、Jira 等無縫集成,讓團隊能夠快速且一致地推動開發流程。

https://ithelp.ithome.com.tw/upload/images/20241010/20168708mh6Q8jViO4.png


Azure DevOps 的核心組件

Azure DevOps 由幾個核心服務組成,每一個服務都有其獨特的功能與用途:


Azure Boards

專門用來管理專案計劃與工作項目。它提供強大的看板、甘特圖及需求跟蹤功能,協助團隊更好地管理任務和工作流程。

UI 截圖

https://ithelp.ithome.com.tw/upload/images/20241010/201687081a38bi8bJt.png

個別功能簡介表

功能 英文名稱 說明
工作專案 Work items 根據特定條件檢視或存取工作專案清單,例如指派給您的、您追蹤的,或您曾檢視或更新的工作專案。
面板 Boards 以卡片形式檢視工作專案,透過拖放方式更新狀態,類似於在實體白板上的便條。此功能可視覺化小組的工作流程。
積壓 Backlogs 檢視、計劃和排序工作專案,包括管理產品待辦專案和組合待辦專案,將工作分組為功能或史詩(Epic)。
衝刺 Sprints 存取特定衝刺或反覆流程,檢視小組的工作狀況,並使用拖放功能將待辦項目指派至短期衝刺,以實作 Scrum 的工作方式。
查詢 Queries 自定義工作專案清單,支援分級、批量更新以及檢視工作專案間的關聯性,並可將狀態和趨勢圖添加至儀錶板。
傳遞計劃 Delivery Plans 以行事曆檢視小組的交付計劃,追蹤多個小組的相依性,並檢視最多 15 個小組的待辦專案和跨多個衝刺的進度。
分析檢視 Analytics views 使用 Azure Boards 數據建立 Power BI 報表,支援預設分析或建立自定義檢視,以提供工作專案的深入分析。

參考資料

什麼是 Azure Boards?


Azure Repos

版本控制系統是開發過程中的重要工具,它能讓開發人員在程式代碼上順暢協作,並保留完整的變更歷程記錄。對於涉及多名開發人員的專案,版本控制系統能確保程式開發的一致性與協調性。

在 Azure DevOps 中,可以使用兩種主要的原始檔控制系統:Git 和 Team Foundation 版本控制( TFVC )。

不論你選擇哪一種,都能幫助團隊更有效率地協作並維持程式代碼的品質與一致性。對於新手而言,Git 通常是更靈活且強大的選擇,而 TFVC 則適合希望簡化代碼管理流程的團隊,其個別差異請參考以下整理:

UI 截圖

https://ithelp.ithome.com.tw/upload/images/20241010/20168708lw0zSoEGHJ.png

Git 版本控制

Git 是一種分散式版本控制系統,每位開發人員都擁有整個存放庫的本機複本,這樣能夠方便地進行離線工作,也可以輕鬆建立分支和合併改動。由於 Git 的彈性和強大的功能,Azure DevOps 中 Git 通常是新專案的首選,Git 在 Azure Repos 中的功能請參考以下清單:

  • 檢閱檔案:查看存放庫中每個檔案的變更詳細數據和歷程記錄,了解所有改動的內容。
  • 下載和編輯檔案:您可以下載檔案的本機副本並進行修改,以進行新功能的開發或錯誤修正。
  • 管理認可:Git 可以追蹤所有推送至存放庫的認可,確保程式代碼變更的清晰歷程記錄。
  • 提取請求(Pull Requests):使用提取請求來建立、審核、批注和合併程式碼,讓團隊成員之間能有效地進行程式碼檢閱和合作。
  • Git 標籤:透過 Git 標籤,您可以組織及標記存放庫歷程記錄中的特定點,方便之後快速參考。

注意:Azure DevOps 中的 Git 是標準 Git,您可以使用 Visual Studio 搭配第三方 Git 服務,或者使用 Azure DevOps Server 搭配其他 Git 用戶端。

Team Foundation 版本控制(TFVC)

TFVC 是一種集中式版本控制系統,適合偏好簡化代碼管理的團隊。開發人員會在本地計算機上保有每個檔案的單一版本,而伺服器則保留所有變更的完整歷程記錄,並提供「單一事實來源」,確保所有人都在處理最新的程式代碼,其 TFVC 的主要特點請參考下列清單:

  • 單一版本工作流程:開發人員的電腦上只保留當前版本的檔案,這樣能減少複雜度,保持團隊間的一致性。
  • 伺服器端歷程記錄:所有的變更和版本歷程記錄都保存在伺服器上,確保專案演進的完整性和安全性。
  • 路徑型分支:TFVC 使用路徑型方法來建立和管理分支,這種方式讓分支的組織結構更加清晰,合併操作也更加直接。

哪個版本控制系統更適合?

  • 如果團隊需要彈性工作方式,並且習慣於本地工作和頻繁合併,Git 可能是更合適的選擇。它支援離線工作、強大的分支管理,以及方便的協作。
  • 如果團隊偏好更簡單的集中式管理方式,並且希望確保所有人都在使用最新版本,那麼 TFVC 可能更適合你。它提供集中管理的穩定環境,適合追求簡化流程和減少複雜性的團隊。

參考資料

Azure DevOps 服務概觀 - Repos


Azure Pipelines

Azure Pipelines 是 Azure DevOps 的一個組成部分,它可以自動化編譯、測試和部署程式碼專案。它整合了持續整合(CI)、持續測試和持續交付(CD),幫助開發團隊快速地編譯、測試並將程式碼部署到任何目標平台。它支援各種主要的程式語言和不同類型的專案,具備高度的靈活性。這塊也是我接下來幾天想要特別著重分享的功能。

UI 截圖

https://ithelp.ithome.com.tw/upload/images/20241010/20168708MZ5yNtJ26c.png

個別功能簡介表

功能 說明
Pipelines Pipelines 用於持續整合(CI),開發人員可以自動化編譯和測試過程,以便及時發現並修復程式碼中的錯誤,確保每次變更都能夠快速集成。
Environments Environments 是目標環境的集合,用於管理部署到不同環境中的應用程式,如開發、測試和生產環境。
Releases Releases 用於持續部署(CD),它幫助使用者定義和管理多個部署階段,並且包含批准工作流程,以確保應用程式安全地交付到不同的環境中。
Library Library 提供可重用的組件和變數組,簡化跨多個管道的配置和部署,例如變數群組和安全文件。
Task groups Task groups 是一組可重用的任務步驟,可以跨多個管道和專案應用。這些群組允許開發人員將常見的工作流標準化,例如編譯、測試或部署任務。通過使用任務群組,可以減少重複性工作,提高一致性和維護性,也能確保在不同專案中採用相同的最佳實踐。
Deployment groups Deployment groups 是一組伺服器或目標機器,用於協助進行應用程式的部署。這些群組通常用於多台伺服器的同步部署,尤其是在企業環境中進行大規模的生產部署時非常有用。部署群組能夠管理部署過程中的相依性,追蹤每個目標的部署狀態,並確保部署的一致性和可靠性。

參考資料

什麼是 Azure Pipelines?
Azure DevOps 服務概觀 - Pipelines


Azure Test Plans

Azure DevOps 的測試功能主要目的是幫助團隊確保軟體的品質和穩定性。透過測試計劃的建立和測試管理,開發團隊可以在開發過程中有效檢驗功能是否符合需求,並在軟體的不同階段中快速發現缺陷,最終交付穩定、高品質的產品。

UI 截圖

https://ithelp.ithome.com.tw/upload/images/20241010/20168708VyLDYBszCZ.png

參考文章

什麼是 Azure Test Plans?
Azure DevOps 服務概觀 - Test plans


Azure Artifacts

用來管理軟體制品和依賴庫,方便團隊共享和版本管理。


Azure DevOps 的應用場景

Azure DevOps 適用於各類型的開發團隊和場景,例如:

  • 敏捷開發團隊:使用 Azure Boards 來管理短迭代週期及用戶故事,確保敏捷開發流程的推動。
  • 跨平台開發與部署:Azure Pipelines 可以支持 Linux、macOS 和 Windows 的應用程式編譯與部署,是一個跨平台的 CI/CD 工具。
  • 企業級 DevOps 解決方案:大型組織可以利用 Azure DevOps 的強大功能,進行全公司級的代碼管理、測試與部署,以保持軟體產品的穩定和高品質。

明日主題

Day 27 - 將 CI/CD 流程透過 Azure DevOps 去執行吧。


上一篇
Day 25 - 使用正規表示式來解析文字檔
下一篇
Day 27 - 將 CI/CD 流程透過 Azure DevOps 去執行吧 - Part 1
系列文
《30天挑戰精通 PowerShell:從 Windows Server 到 Azure DevOps 自動化之旅》30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言